Low-Cost, Concurrent Checking of Pointer and Array Accesses in C Programs
نویسندگان
چکیده
Execution Shadow processing was motivated, in part, by a tool called AE that supports abstract execution [17]. AE is used for efficient generation of detailed program traces. A source program, in C, is instrumented to record a small set of key events during execution. After execution these events serve as input to an abstract version of the original program that can recreate a full trace of the original program. The events recorded by the original program include control flow decisions. These are essentially the same data needed by a shadow process to follow a main process. AE is a post-run technique that shifts some of the costs involved in tracing certain incidents during a program’s execution to the program that uses those incidents. In contrast, shadow processing is a run-time technique that removes expensive tracing from the critical execution path of a program and shifts it to another processor. Table 7: Concurrent Guarding using Shadow Processing: (user + system) time Program Original (time in seconds) Embedded Checking Shadow Guarding Purified (% increase) Guarded (% increase) Main (% increase) Shadow: without output calls (% increase) alvinn (50 epochs) 25.6 s 774.6% 472.3% < 1% 472.3% compress 2.9 s 748.3% 113.8% 10.3% 89.7% decompress 2.0 s 765.0% 145.0% 10.0% 85.0% ear 305.4 s 589.1% 642.0% < 1% 636.4% eqntott 18.8 s 735.6% 1337.2% 3.2% 1328.2% espresso 7.9 s 1107.6% 648.1% 1.3% 650.6% sc (loadc2) 38.6 s 613.5% 173.3% 6.7% 95.1% xlisp 122.1 s 988.1% 775.6% 5.6% 787.6%
منابع مشابه
Automatic Array Access Recovery in Pointer based DSP Codes
Efficient implementation of DSP applications are critical for embedded systems. However, current applications written in C, make extensive use of pointer arithmetic making compiler analysis and optimisation difficult. This paper presents a method for conversion of a restricted class of pointer-based memory accesses typically found in DSP codes into array accesses with explicit index functions. ...
متن کاملSafe Systems Programming Languages
The C programming language provides explicit memory management, precise control over low-level data representations and high code efficiency. These features are indispensable for systems programming. However, C achieved these goals at the cost of sacrificing type safety. Safety violations like array out-of-bound accesses and dangling pointer accesses lead to a huge amount of well-known software...
متن کاملRegion Analysis for Race Detection
Automatic race detection of C programs requires fast, yet sufficiently precise, analysis of dynamic memory. Therefore, we present a region-based pointer analysis which seeks to identify disjoint regions of dynamically allocated objects to ensure that write accesses to the same region are always protected by the same mutexes. Our approach has been implemented within the interprocedural analyzer ...
متن کاملCompiler Transformation of Pointers to Explicit Array Accesses in DSP Applications
Efficient implementation of DSP applications are critical for embedded systems. However, current applications written in C, make extensive use of pointer arithmetic making compiler analysis and optimisation difficult. This paper presents a method for conversion of a restricted class of pointer-based memory accesses typically found in DSP codes into array accesses with explicit index functions. ...
متن کاملCUTE and jCUTE : Concolic Unit Testing and Explicit Path Model-Checking Tools (Tools Paper)
CUTE, a Concolic Unit Testing Engine for C and Java, is a tool to systematically and automatically test sequential C programs (including pointers) and concurrent Java programs. CUTE combines concrete and symbolic execution in a way that avoids redundant test cases as well as false warnings. The tool also introduces a race-flipping technique to efficiently test and model check concurrent program...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- Softw., Pract. Exper.
دوره 27 شماره
صفحات -
تاریخ انتشار 1997